The application pertains generally to the art of color image rendering, and more particularly to image rendering which extracts true grayscale values from a color image represented in a multi-dimensional color coordinate scheme. It will be appreciated that the subject application is particularly advantageous in generating renderings of electronic documents, and will be described with particular reference thereto. However, it will be appreciated that the subject system is applicable to any image rendering operation which would benefit by extraction of color information for generation of multi-bit halftone images that correspond to both a pallet of an image file and to rendering capabilities of a document processing device.
Earlier color image rendering systems frequently employ images that are described numerically relative to primary color components. Such color components are suitably additive in nature, such as red-green-blue (RGB), or subtractive, such as cyan, yellow, magenta (CYM), the latter of which is frequently coupled with a black color (K), referred to as CYMK or CYM(K). Many images rendered from such color descriptions include image portions which are gray. Gray objects that are rendered with multiple colors will typically lose edge definition and might have mis-registration artifacts, such as rainbowing. It is recognized that extraction of such gray information for rendering with a single color, such as black, can improve image quality and increase integrity of aspects such as edge generation. Furthermore, it is frequently less expensive and more expeditious to use a single, black color generator to render a gray, rather than multiple blends of color which require additional processing and added ink or toner use. While the preferred embodiment herein corresponds to gray extraction and rendering, it will be appreciated that the concepts disclosed herein are applicable to extraction and rendering of any image component that corresponds to a rendering capability of an associated document processing device.
There are three basic ways that a gray is typically produced on a printer, such as using all four colors on a four color printer, by way of example. A first method employs a composite coloration scheme employing a balance of primaries, such as cyan, magenta and yellow colorants. A second method employs multi-color composites. By way of example, this is suitably comprised of cyan, magenta, yellow and black. A third option is to form a gray coloration solely by use of a single color, typically black. While a four color gray generation approach may provide darker, richer gray values, this is often at a cost of sharpness in edges and lines due to overlaying of the four colors. In a typical system that employs the alternative, black color gray generation, a better edge definition is realized in edges and lines, but at a sacrifice of a production of as dark or rich a gray value. A particular choice as to which technique to use to render grays is frequently dependent on a selected object that is to be rendered, such as text, image, graphic stroke, graphic fill, and the like. Further, practical considerations, such as cost and speed, may govern which method is to be employed for generation of a gray level output.
The concepts disclosed herein are better appreciated with an understanding of numeric models used to represent images, and image colorization, in image processing or rendering applications. CIE L*a*b* (CIELAB or Lab) is frequently thought of one of the most complete color models. It is used conventionally to describe all the colors visible to the human eye. It was developed for this specific purpose by the International Commission on Illumination (Commission Internationale d'Eclairage, resulting in the acronym CIE). The three parameters (L, a, b) in the model represent the luminance of the color (L, L=0 yields black and L=100 indicates white), its position between red and green (a, negative values indicate green, while positive values indicate red) and its position between yellow and blue (b, negative values indicate blue and positive values indicate yellow).
The Lab color model has been created to serve as a device independent reference model. It is therefore important to realize that visual representations of the full gamut of colors in this model are not perfectly accurate, but are used to conceptualize a color space. Since the Lab model is three dimensional, it is represented properly in a three dimensional space. A useful feature of the model is that the first parameter is extremely intuitive: changing its value is like changing the brightness setting in a TV set. Therefore only a few representations of some horizontal “slices” in the model are enough to conceptually visualize the whole gamut, wherein the luminance is suitably represented on a vertical axis.
The Lab model is inherently parameterized correctly. Accordingly, no specific color spaces based on this model are required. CIE 1976 L*a*b* mode is based directly on the CIE 1931 XYZ color space, which sought to define perceptibility of color differences. Circular representations in Lab space corresponded to ellipses in XYZ space. Non-linear relations for L*, a*, and b* are related to a cube root, and are intended to mimic the logarithmic response of the eye. Coloring information is referred to the color of the white point of the system.
One of the first mathematically defined color spaces was the CIE XYZ color space (also known as CIE 1931 color space), created by CIE in 1931. A human eye has receptors for short (S), middle (M), and long (L) wavelengths, also known as blue, green, and red receptors. One need only generate three parameters to describe a color sensation. A specific method for associating three numbers (or tristimulus values) with each color is called a color space, of which the CIE XYZ color space is one of many such spaces. The CIE XYZ color space is based on direct measurements of the human eye, and serves as the basis from which many other color spaces are defined.
In the CIE XYZ color space, tristimulus values are not the S, M and L stimuli of the human eye, but rather a set of tristimulus values called X, Y, and Z, which are also roughly red, green and blue, respectively. Two light sources may be made up of different mixtures of various colors, and yet have the same color (metamerism). If two light sources have the same apparent color, then they will have the same tristimulus values irrespective of what mixture of light was used to produce them.
It would be advantageous to have a system that works on a defined color space, such as the XYZ color space, and extracts grayscale information for rendering on a single color, such as black, referred to herein as a “true gray” rendering.